/**
 * 
 */
package datensaetze;

public abstract class Feld {

	protected Datensatz datensatz = null;

	public Datensatz getDatensatz() {
		return datensatz;
	}

	public void setDatensatz(Datensatz datensatz) {
		this.datensatz = datensatz;
	}

	/**
	 * Eine normierte Form des Feldes, die einen möglicherweise 
	 * effizienten Vergleich über Strings erlaubt.
	 * @return
	 */
	public abstract String getAN();

	/**
	 * Eine schlichte Lösung, die möglicherweise in der
	 * Unterklasse noch verbessert werden muss.
	 */
	@Override
	public String toString() {
		return getAN();
	}

	public abstract String strukturiert();

	/**
	 * Enthält mehrgliedrige Schlagwörter.
	 * 
	 * @return
	 */
	public boolean istMehrgliedrig() {
		return false;
	}

	public abstract boolean contains(CharSequence cs);

}